In a typical motor vehicle, a variety of sensors gather information that is input to an engine controller. For example, to control fuel injection, the engine controller may use the output of a mass air flow sensor (MAFS). Unlike most sensors, the MAFS typically outputs a square wave instead of an analog voltage. The frequency indicates the mass air flow passing the MAFS. The frequency of the MAFS varies nonlinearly with respect to mass air flow input between minimum and maximum frequency values.
The engine controller commonly uses an average frequency of the MAFS output signal to estimate mass air flow. For example, in one approach, the engine controller keeps a running count of rising edges of the MAFS signal that occur during a cylinder event. A cylinder event may be defined, for example, by two consecutive low-resolution (LORES) event signals. When the cylinder event ends, the engine controller divides the rising edge count (decremented by one) by a time value representing the duration of the cylinder event to obtain an average frequency value. The engine controller then accesses a lookup table (LUT) stored in memory to find a mass air flow value corresponding to the average frequency value.
Although mass air flow values derived through averaging as described above provide useful estimates of mass air flow, such estimates tend to represent only a portion of the information that may be inherent in a MAFS output signal. These mass air flow estimations do not account for the non-linearity of the relationship between MAFS frequency output and mass air flow input. Although a MAFS might be modified to produce an output that varies linearly with input, it is likely that such modification would involve adding additional processing and/or analog circuits to the MAFS. It is likely, then, that modification of a MAFS would be expensive.